def inbound_1():
  """Inbound call to SiebelAg2, abnormal release Ext1SiebelAg1"""
  Ext1SiebelAg1.MakeCall(DN2)
  Ext1SiebelAg1.ReleaseCall()

def inbound_2():
  """Inbound call to ACD2,  release SiebelAg2"""
  Ext1SiebelAg1.MakeCall(ACD2)
  SiebelAg2.AnswerCall()
  SiebelAg2.ReleaseCall()

def inbound_3():
  """Inbound call to ACD2,  abnormal release Ext1SiebelAg1"""
  SiebelAg2.SetNotReady()
  Ext1SiebelAg1.MakeCall(ACD2)
  Ext1SiebelAg1.ReleaseCall()
  SiebelAg2.SetReady()

def inbound_4():
  """Inbound call to ACD2 agent NotReady Ready"""
  SiebelAg2.SetNotReady()
  Ext1SiebelAg1.MakeCall(ACD2)
  SiebelAg2.SetReady()
  SiebelAg2.AnswerCall()
  SiebelAg2.ReleaseCall()

def inbound_5():
  """Inbound call to ACD3 agent NotReady Ready"""
  SiebelAg3.SetNotReady()
  Ext1SiebelAg1.MakeCall(ACD3)
  SiebelAg3.SetReady()
  SiebelAg3.AnswerCall()
  SiebelAg3.ReleaseCall()



def inbound_6():
  """Inbound to  SiebelAg2, two step transfer to SiebelAg3, release SiebelAg3"""
  Ext1SiebelAg1.MakeCall(DN2)
  SiebelAg2.AnswerCall()
  SiebelAg2.InitiateTransfer(DN3)
  SiebelAg3.AnswerCall()
  SiebelAg2.CompleteTransfer()
  SiebelAg3.ReleaseCall()
  
def inbound_7():
  """Inbound to  SiebelAg2, SiebelAg2 init transfer to SiebelAg3, release SiebelAg1, release SiebelAg2"""
  Ext1SiebelAg1.MakeCall(DN2)
  SiebelAg2.AnswerCall()
  SiebelAg2.InitiateTransfer(DN3)
  Ext1SiebelAg1.ReleaseCall()
  SiebelAg2.ReleaseCall()
  
def inbound_8():
  """Inbound to  SiebelAg2, SiebelAg2 init transfer to SiebelAg3, release SiebelAg1, SiebelAg3 answer, release SiebelAg3"""
  Ext1SiebelAg1.MakeCall(DN2)
  SiebelAg2.AnswerCall()
  SiebelAg2.InitiateTransfer(DN3)
  Ext1SiebelAg1.ReleaseCall()
  SiebelAg3.AnswerCall()
  SiebelAg3.ReleaseCall()  
  
def inbound_9():
  """Inbound to  SiebelAg2, SiebelAg1 init transfer to SiebelAg3, release SiebelAg2, SiebelAg3 answer, release SiebelAg3"""
  Ext1SiebelAg1.MakeCall(DN2)
  SiebelAg2.AnswerCall()
  Ext1SiebelAg1.InitiateTransfer(DN3)
  SiebelAg2.ReleaseCall()
  SiebelAg3.AnswerCall()
  SiebelAg3.ReleaseCall()   

  
def inbound_12():
  """Inbound call to  DN2, two step transfer to SiebelAg3, release SiebelAg3"""
  Ext1SiebelAg1.MakeCall(DN2)
  SiebelAg2.AnswerCall()
  SiebelAg2.InitiateTransfer(DN3)
  SiebelAg3.AnswerCall()
  SiebelAg2.CompleteTransfer()
  SiebelAg3.ReleaseCall()

def inbound_13():
  """Inbound call to  DN2, two step transfer to SiebelAg3, abnormal release Ext1SiebelAg1"""
  Ext1SiebelAg1.MakeCall(DN2)
  SiebelAg2.AnswerCall()
  SiebelAg2.InitiateTransfer(DN3)
  SiebelAg2.ReleaseCall()
  Ext1SiebelAg1.ReleaseCall()

def inbound_14():
  """Inbound call to SiebelAg2, two step transfer to SiebelAg3, completed before consulted party answer"""
  Ext1SiebelAg1.MakeCall(DN2)
  SiebelAg2.AnswerCall()
  SiebelAg2.InitiateTransfer(DN3)
  SiebelAg2.CompleteTransfer()
  SiebelAg3.AnswerCall()
  Ext1SiebelAg1.ReleaseCall()

def inbound_15():
  """Inbound call, two step transfer to SiebelAg3, completed before consulted party answer, abnor"""
  Ext1SiebelAg1.MakeCall(DN2)
  SiebelAg2.AnswerCall()
  SiebelAg2.InitiateTransfer(DN3)
  SiebelAg2.CompleteTransfer()
  Ext1SiebelAg1.ReleaseCall()

def inbound_16():
  """Inbound call to  DN2,  SiebelAg2 two step transfer to ACD3, release SiebelAg3"""
  Ext1SiebelAg1.MakeCall(DN2)
  SiebelAg2.AnswerCall()
  SiebelAg2.InitiateTransfer(ACD3)
  SiebelAg3.AnswerCall()
  SiebelAg2.CompleteTransfer()
  SiebelAg3.ReleaseCall()

def inbound_17():
  """Inbound call to  DN2, two step transfer to ACD3, agent NotReady-Ready, release SiebelAg3"""
  Ext1SiebelAg1.MakeCall(DN2)
  SiebelAg2.AnswerCall()
  SiebelAg3.SetNotReady()
  SiebelAg2.InitiateTransfer(ACD3)
  SiebelAg3.SetReady()
  SiebelAg3.AnswerCall()
  SiebelAg2.CompleteTransfer()
  SiebelAg3.ReleaseCall()

def inbound_18():
  """Inbound call to SiebelAg2, two step transfer to ACD3, completed before consulted party answer"""
  Ext1SiebelAg1.MakeCall(DN2)
  SiebelAg2.AnswerCall()
  SiebelAg2.InitiateTransfer(ACD3)
  SiebelAg2.CompleteTransfer()
  SiebelAg3.AnswerCall()
  SiebelAg3.ReleaseCall()

def inbound_18a():
  """Inbound call Ext1DN1-DN2, two step transfer to ACD3, completed before consulted party answer """
  Ext1SiebelAg1.MakeCall(DN2)
  SiebelAg2.AnswerCall()
  SiebelAg3.SetNotReady()
  SiebelAg2.InitiateTransfer(ACD3)
  SiebelAg2.CompleteTransfer()
  SiebelAg3.SetReady()
  SiebelAg3.AnswerCall()
  Ext1SiebelAg1.ReleaseCall()


def inbound_19():
  """Inbound call Ext1DN1-DN2, two step transfer to ACD3, completed before consulted party answer, abnor """
  Ext1SiebelAg1.MakeCall(DN2)
  SiebelAg2.AnswerCall()
  SiebelAg3.SetNotReady()
  SiebelAg2.InitiateTransfer(ACD3)
  SiebelAg2.CompleteTransfer()
  Ext1SiebelAg1.ReleaseCall()
  SiebelAg3.SetReady()


def inbound_20():
  """something"""
  Ext1SiebelAg1.MakeCall(DN2)
  SiebelAg2.AnswerCall()
  SiebelAg2.InitiateTransfer(DN3)
  SiebelAg3.AnswerCall()
  Ext1SiebelAg1.ReleaseCall()
  SiebelAg2.InitiateTransfer(Ext1DN1)
  SiebelAg2.CompleteTransfer()
  Ext1SiebelAg1.AnswerCall()
  SiebelAg3.ReleaseCall()

def inbound_21():
  """Inbound call to SiebelAg2, inbound conference to SiebelAg3, release Ext1DN1, SiebelAg2"""
  Ext1SiebelAg1.MakeCall(DN2)
  SiebelAg2.AnswerCall()
  SiebelAg2.InitiateConference(DN3)
  SiebelAg3.AnswerCall()
  SiebelAg2.CompleteConference()
  Ext1SiebelAg1.ReleaseCall()
  SiebelAg2.ReleaseCall()

def inbound_22():
  """Inbound call to SiebelAg2, SiebelAg2 cinit conference to SiebelAg3, abnorl release SiebelAg2, release Ext1SiebelAg1"""
  Ext1SiebelAg1.MakeCall(DN2)
  SiebelAg2.AnswerCall()
  SiebelAg2.InitiateConference(DN3)
  SiebelAg2.ReleaseCall()
  Ext1SiebelAg1.ReleaseCall()

def inbound_23():
  """Inbound call to SiebelAg2, inbound conference to ACD3, release Ext1DN1, SiebelAg2"""
  Ext1SiebelAg1.MakeCall(DN2)
  SiebelAg2.AnswerCall()
  SiebelAg2.InitiateConference(ACD3)
  SiebelAg3.AnswerCall()
  SiebelAg2.CompleteConference()
  Ext1SiebelAg1.ReleaseCall()
  SiebelAg2.ReleaseCall()

def inbound_24():
  """Inbound call to SiebelAg2, SiebelAg2 init conference to ACD3, abnormal release SiebelAg2, release Ext1SiebelAg1"""
  Ext1SiebelAg1.MakeCall(DN2)
  SiebelAg2.AnswerCall()
  SiebelAg2.InitiateConference(ACD3)
  SiebelAg2.ReleaseCall()
  Ext1SiebelAg1.ReleaseCall()

def inbound_25():
  """Inbound call to SiebelAg2, inbound conference to ACD3, agent NotReady-Ready"""
  Ext1SiebelAg1.MakeCall(DN2)
  SiebelAg2.AnswerCall()
  SiebelAg3.SetNotReady()
  SiebelAg2.InitiateConference(ACD3)
  SiebelAg3.SetReady()
  SiebelAg3.AnswerCall()
  SiebelAg2.CompleteConference()
  Ext1SiebelAg1.ReleaseCall()
  SiebelAg2.ReleaseCall()

def inbound_26():
  """Inbound call to SiebelAg2, SiebelAg2 conference to SiebelAg3, completed before consulted party answer"""
  Ext1SiebelAg1.MakeCall(DN2)
  SiebelAg2.AnswerCall()
  SiebelAg2.InitiateConference(DN3)
  SiebelAg2.CompleteConference()
  SiebelAg3.AnswerCall()
  Ext1SiebelAg1.ReleaseCall()
  SiebelAg2.ReleaseCall()

def inbound_27():
  """Inbound call to SiebelAg2, SiebelAg2 conf to SiebelAg3, compl before cons. party answer, abnor. release SiebelAg2"""
  Ext1SiebelAg1.MakeCall(DN2)
  SiebelAg2.AnswerCall()
  SiebelAg2.InitiateConference(DN3)
  SiebelAg2.CompleteConference()
  SiebelAg2.ReleaseCall()
  SiebelAg3.AnswerCall()
  Ext1SiebelAg1.ReleaseCall()

def inbound_28():
  """Inbound call to SiebelAg3, SiebelAg3 conference to ACD2, completed before cons. party answer"""
  Ext1SiebelAg1.MakeCall(DN3)
  SiebelAg3.AnswerCall()
  SiebelAg3.InitiateConference(ACD2)
  SiebelAg3.CompleteConference()
  SiebelAg2.AnswerCall()
  SiebelAg2.ReleaseCall()
  Ext1SiebelAg1.ReleaseCall()

def inbound_29():
  """As above, but Agent NR-R"""
  Ext1SiebelAg1.MakeCall(DN3)
  SiebelAg3.AnswerCall()
  SiebelAg2.SetNotReady()
  SiebelAg3.InitiateConference(ACD2)
  SiebelAg2.SetReady()
  SiebelAg3.CompleteConference()
  SiebelAg2.AnswerCall()
  SiebelAg2.ReleaseCall()
  Ext1SiebelAg1.ReleaseCall()

def inbound_30():
  """Inbound call to SiebelAg2, mute transfer to SiebelAg3, release Ext1SiebelAg1"""
  Ext1SiebelAg1.MakeCall(DN2)
  SiebelAg2.AnswerCall()
  SiebelAg2.MuteTransfer(DN3)
  SiebelAg3.AnswerCall()
  Ext1SiebelAg1.ReleaseCall()

def inbound_31():
  """Inbound call to SiebelAg2, mute transfer to ACD3, release Ext1SiebelAg1"""
  Ext1SiebelAg1.MakeCall(DN2)
  SiebelAg2.AnswerCall()
  SiebelAg2.MuteTransfer(ACD3)
  SiebelAg3.AnswerCall()
  Ext1SiebelAg1.ReleaseCall()

def inbound_32():
  """Inbound call to SiebelAg2, mute transfer to ACD3, agent NotReady-Ready, release Ext1SiebelAg1"""
  Ext1SiebelAg1.MakeCall(DN2)
  SiebelAg2.AnswerCall()
  SiebelAg3.SetNotReady()
  SiebelAg2.MuteTransfer(ACD3)
  SiebelAg3.SetReady()
  SiebelAg3.AnswerCall()
  Ext1SiebelAg1.ReleaseCall()

def inbound_33():
  """Inbound call to SiebelAg2, mute transfer to SiebelAg3, abnormal release Ext1SiebelAg1"""
  Ext1SiebelAg1.MakeCall(DN2)
  SiebelAg2.AnswerCall()
  SiebelAg2.MuteTransfer(DN3)
  Ext1SiebelAg1.ReleaseCall()

def inbound_34():
  """Inbound call to SiebelAg2, mute transfer to ACD3, agent NotReady-Ready, abnormal release Ext1SiebelAg1"""
  Ext1SiebelAg1.MakeCall(DN2)
  SiebelAg2.AnswerCall()
  SiebelAg3.SetNotReady()
  SiebelAg2.MuteTransfer(ACD3)
  Ext1SiebelAg1.ReleaseCall()
  SiebelAg3.SetReady()
  
def inbound_35():
  """Inbound call to ACD2, SiebelAg2 answer, SiebelAg2 mute transfer to ACD2, release Ext1SiebelAg1"""
  Ext1SiebelAg1.MakeCall(ACD2)
  SiebelAg2.AnswerCall()
  SiebelAg2.MuteTransfer(ACD2)
  Ext1SiebelAg1.ReleaseCall()
  

def inbound_36():
  """Inbound call to SiebelAg2, conference, SiebelAg2drops SiebelAg3, release SiebelAg2"""
  Ext1SiebelAg1.MakeCall(DN2)
  SiebelAg2.AnswerCall()
  SiebelAg2.InitiateConference(ACD3)
  SiebelAg3.AnswerCall()
  SiebelAg2.CompleteConference()
  SiebelAg2.DeleteFromConference(DN3)
  SiebelAg2.ReleaseCall()
  

  
  
def inbound_37():
  """Inbound call to SiebelAg2, SiebelAg2 answer, SiebelAg2  SSC to SiebelAg3"""
  Ext1SiebelAg1.MakeCall(DN2)
  SiebelAg2.AnswerCall()
  SiebelAg2.SingleStepConference(DN3)
  SiebelAg3.ReleaseCall()
  Ext1SiebelAg1.ReleaseCall()

